Various arrangements are proposed as a servo control device that provides motor output matching a target instruction.
FIG. 3 is a block diagram showing the configuration of a servo control device disclosed in Patent Reference 1. In FIG. 3, a numeral 1 represents a motor, 2 a speed controller, 5′ a predictive controller, 6 a differentiator, and 50 a feed-forward (FF) signal creating command filter.
When a future target command is input to the FF signal creating command filter 50, the signal creating command filter 50 creates a speed feed-forward signal VFF, a torque feed-forward signal TFF, a position command increment value Δr, outputs the speed feed-forward signal VFF, the torque feed-forward signal TFF, the position command increment value Δr to the predictive controller 5′ and outputs the speed feed-forward signal VFF and the torque feed-forward signal TFF to the speed controller 2. The predictive controller 2 inputs a position command increment value Δr, a speed feed-forward signal VFF, a torque feed-forward signal TFF and an increment value of motor position, creates and outputs a speed command to the speed controller 2. The speed controller 2 inputs the speed command, the speed feed-forward signal VFF and the torque feed-forward signal TFF and feeds power to a motor. The motor 1 receives power from the speed controller and generates a torque, and generates acceleration according to the inertia or a load.
FIG. 4 is a block diagram of a feed-forward signal creating command filter 50. In FIG. 4, a numeral 21 represents a filter, 22 a feed-forward signal arithmetic unit, and 23 a memory.
The filter 21 is a filter that can be used to filter a future target command and outputs a filtered future target command. The memory 23 inputs the output of the filter 21, stores target command increment values Δr(i), . . . , Δr(i+M) from the current time i to M sampling future (M is a natural number) and outputs the target command increment values to an FF signal arithmetic unit 22 and a predictive controller 5′. The FF signal arithmetic unit 22 inputs the output of the memory 23, creates a speed feed-forward signal VFF and a torque feed-forward signal TFF and outputs the signals to the predictive controller 5′ and the speed controller 2.
FIG. 2 is a block diagram a modified version of the configuration of the servo control device disclosed in Patent Reference 1 and includes a second feed-forward controller 40, a predictive controller 5, a speed controller 2, a motor 1, and a differentiator 6 so as to match the output of the motor 1 with a target command. FIG. 3 is different from FIG. 2 in that a target command increment value Δr to be stored into a memory 23 is directly input to the second feed-forward controller 40 and the predictive controller 5 irrespective of the presence of a filter in the feed-forward signal creating command filter 50 and that the FF signal arithmetic unit 22 computes and outputs only the speed feed-forward signal VFF and each of the second feed-forward controller 40 and the predictive controller 5 includes the FF signal arithmetic unit 22 and the memory 23. Thus, the speed feed-forward signal VFF(i) output from the second feed-forward controller 40 is output the speed controller 2 alone.
FIG. 6 is a block diagram showing the configuration of a second feed-forward controller 40. Referring to FIG. 6, the feed-forward controller 40 includes a memory 23 and an FF signal arithmetic unit 22. The memory 23 sequentially stored target command increment values to store command increment values Δr(i), Δr(i+1), . . . , Δr(i+M) from the current time i to the M sampling future (M is a natural number) and outputs the command increment values to the FF signal arithmetic unit 22. The FF signal arithmetic unit 22 obtains and outputs a speed feed-forward signal VFF(i) from the command increment values Δr(i), Δr(i+1), . . . , Δr(i+M) output from the memory 23. The arithmetic expression to obtain a speed feed-forward signal is not limited. For example, disturbance applied to the motor 1 is known, the disturbance may be canceled with arithmetic operation or assumeVFF(i)=ffv/Ts·Δr(i+m1)where ffv is a feed-forward gain, Ts is a sampling period, Δr(i+m1) is a command increment value of the m1 sampling future, and m1 is an integer in the range of 0≦m1.
FIG. 5 is a block diagram showing the configuration of a predictive controller 5. The predictive controller 5 inputs a command increment value Δr(i) and a position output increment value Δy(i−K) as an increment value of the sampling period of the position output of K (K is an integer≧0) sampling past of a motor 1, obtains a future deviation predicted value by using a transfer function model from a speed command to output, and determines and output a speed command u(i) so that the evaluation function concerning the future deviation predicted value and the speed command u(i) will be minimum.
Referring to FIG. 5, the predictive controller 5 includes a FF signal arithmetic unit 22, memories 23, 101, 102, 103, 104, 105, an arithmetic unit 106, a subtracter 108, and an integrator 109. The memory 23 and the FF signal arithmetic unit 22 are the same as the memory 23 and the FF signal arithmetic unit 22 shown in FIG. 6 and VFF(i) is output from the FF signal arithmetic unit 22. The memory 103 inputs future command increment values Δr(i+1), Δr(i+2), . . . , Δr(i+M) as output of the memory 23 and stores past command increment values Δr(i−1), Δr(i−2), . . . , Δr(i−K). The memory 102 stores constants for predictive control vm(m=−K+1,−K+2, . . . M), pn(n=0, 1, . . . , Na), E, gn(n=1, . . . Nb+K−1), xn(n=0, 1, . . . Nd+K−1) where Na, Nb and Nd are natural numbers. The memory 104 has a position output increment value Δy(i−K) as an input and stores past output increment values Δy(i−K), Δy(i−K−1), . . . , Δy(i−K−Na+1). The memory 105 has the speed command u(i) as an input and stores the past speed commands u(i−1), u(i−2), . . . , u(i−K−Nb+1). The memory 101 has as an input the output of the FF signal arithmetic unit 22 and stores VFF(i), VFF(i−1), . . . , (i−K−Nd+1). The subtracter 108 obtains a deviation increment value between the command increment value Δr(i−K) stored in the memory 103 and the position output increment value Δy(i−K). The integrator 109 integrates a deviation increment value as an output of the subtracter 108 to obtain a deviation e(i−K). The arithmetic unit 106 calculates the speed command u(i) at the current time and outputs the speed command u(i) to the speed controller 2.
                    [                  Formula          ⁢                                          ⁢          1                ]                                                                      u          ⁡                      (            i            )                          =                                            ∑                              m                =                                  K                  +                  1                                            M                        ⁢                                                  ⁢                                          v                m                            ⁢              Δ              ⁢                                                          ⁢                              r                ⁡                                  (                                      i                    +                    m                                    )                                                              -                                    ∑                              n                =                0                                                              N                  ⁢                                                                          ⁢                  a                                -                1                                      ⁢                                                  ⁢                                          p                n                            ⁢              Δ              ⁢                                                          ⁢                              y                ⁡                                  (                                      i                    -                    K                    -                    n                                    )                                                              +                      E            ⁢                                                  ⁢                          e              ⁡                              (                                  i                  -                  K                                )                                              -                                    ∑                              n                =                1                                                              N                  ⁢                                                                          ⁢                  b                                +                K                -                1                                      ⁢                                                  ⁢                                          g                n                            ⁢                              u                ⁡                                  (                                      i                    -                    n                                    )                                                              -                                    ∑                              n                =                0                                                              N                  ⁢                                                                          ⁢                  d                                +                K                -                1                                      ⁢                                                  ⁢                                          x                n                            ⁢                                                V                                      F                    ⁢                                                                                  ⁢                    F                                                  ⁡                                  (                                      i                    -                    n                                    )                                                                                        (        1        )            
Next, Expression (1) is described below.
Assume that the discrete-time transmission function model from the speed feed-forward signal VFF(i) and speed command u(i) input to the speed controller 2 to the position output y(i) of the motor 1 is obtained as
                    [                  Formula          ⁢                                          ⁢          2                ]                                                                      y          ⁡                      (            z            )                          =                                                                                                                        (                                                                                                    b                            1                                                    ⁢                                                      z                                                          -                              1                                                                                                      +                        …                        +                                                                              b                                                          N                              ⁢                                                                                                                          ⁢                              b                                                                                ⁢                                                      z                                                                                          -                                N                                                            ⁢                                                                                                                          ⁢                              b                                                                                                                          )                                        ⁢                                          u                      ⁡                                              (                        z                        )                                                                              +                                                                                                                          (                                                                                            d                          1                                                ⁢                                                  z                                                      -                            1                                                                                              +                      …                      +                                                                        d                                                      N                            ⁢                                                                                                                  ⁢                            d                                                                          ⁢                                                  z                                                                                    -                              N                                                        ⁢                                                                                                                  ⁢                            d                                                                                                                )                                    ⁢                                                            V                                              F                        ⁢                                                                                                  ⁢                        F                                                              ⁡                                          (                      z                      )                                                                                                                              (                              1                -                                  z                                      -                    1                                                              )                        ⁢                          (                              1                -                                                      a                    1                                    ⁢                                      z                                          -                      1                                                                      -                …                -                                                      a                                          N                      ⁢                                                                                          ⁢                      a                                                        ⁢                                      z                                                                  -                        N                                            ⁢                                                                                          ⁢                      a                                                                                  )                                                          (        2        )            
where y(z), u(z) and VFF(z) are respectively z conversions of y(1), u(i) and VFF(i).
Expression (1) is obtained when the speed command u(i) is determined so that the evaluation function
                    [                  Formula          ⁢                                          ⁢          3                ]                                                            J        =                                            ∑                              m                =                1                            M                        ⁢                                                  ⁢                                          w                m                            ⁢                                                {                                                                                    e                        *                                            ⁡                                              (                                                  i                          +                          m                                                )                                                              +                                          α                      ⁢                                                                                          ⁢                                              e                        ⁡                                                  (                                                      i                            -                            K                                                    )                                                                                                      }                                2                                              +                      c            ⁢                                          {                                  u                  ⁡                                      (                    i                    )                                                  }                            2                                +                                    c              d                        ⁢                                          {                                  Δ                  ⁢                                                                          ⁢                                      u                    ⁡                                          (                      i                      )                                                                      }                            2                                                          (        3        )            
will be minimum, wherein e*(i+m) is a deviation predicted value at an m sampling future time, wm, a are coefficients to multiply a deviation by, c and cd are coefficients to multiply a speed command u(i) and its increment value Δu(i). The constants vm, E, pn, gn, xn in Expression (1) are given by
                                                        β              s                        =                                          ∑                                  j                  =                  1                                s                            ⁢                                                          ⁢                              B                                  j                  ⁢                                                                          ⁢                  0                                                              ,                                          ⁢                      W            =                                                            ∑                                      s                    ⁢                                                                                  =                                                                                  ⁢                    1                                                                                                                      ⁢                    M                                                  ⁢                                                                  ⁢                                                      w                                                                                                              ⁢                      s                                                        ⁢                                      β                                                                                                              ⁢                      s                                                                                                                                  ⁢                      2                                                                                  +              c              +                              c                                                                                          ⁢                  d                                                              ,                                          ⁢                                    q              s                        =                                          w                s                            ⁢                                                β                  s                                /                W                                                    ⁢                                  ⁢                                            v              m                        =                                          ∑                                  s                  =                  m                                M                            ⁢                                                          ⁢                              q                s                                              ,                                          ⁢                      m            =                                          -                K                            +              1                                ,                                    -              K                        +            2                    ,          …          ⁢                                          ,          M                ⁢                                  ⁢                  E          =                                    (                              1                +                α                            )                        ⁢                          v              1                                      ⁢                                  ⁢                                            p              n                        =                                                            ∑                                      m                    =                                                                  -                        K                                            +                      1                                                        M                                ⁢                                                                  ⁢                                                      v                    m                                    ⁢                                      A                                          m                      ⁡                                              (                                                  n                          +                          K                                                )                                                                              ⁢                                                                          ⁢                  n                                            =              0                                ,          1          ,          …          ⁢                                          ,                                    N              ⁢                                                          ⁢              a                        -            1                          ⁢                                  ⁢                                            g              1                        =                                                            ∑                                      m                    =                                                                  -                        K                                            +                      1                                                        M                                ⁢                                                                  ⁢                                                      v                    m                                    ⁢                                      B                                          m                      ⁢                                                                                          ⁢                      1                                                                                  -                                                c                  d                                /                W                                              ,                                          ⁢                                    g                                                                                ⁢                n                                      =                                                            ∑                                      m                    ⁢                                                                                  =                                                                                  ⁢                                                                  -                        K                                            ⁢                                                                                          +                                                                                          ⁢                      1                                                                                                                                          ⁢                    M                                                  ⁢                                                                  ⁢                                                      v                                                                                                              ⁢                      m                                                        ⁢                                      B                                                                                                              ⁢                      m                                                        ⁢                                                                          ⁢                  n                                            =              2                                ,          …          ⁢                                          ,                                    N              ⁢                                                          ⁢              b                        +            K            -            1                          ⁢                                  ⁢                                            x              n                        =                                                            ∑                                      m                    =                                                                  -                        K                                            +                      1                                                        M                                ⁢                                                                  ⁢                                                      v                    m                                    ⁢                                      D                                          m                      ⁢                                                                                          ⁢                      n                                                        ⁢                                                                          ⁢                  n                                            =              0                                ,          1          ,          …          ⁢                                          ,                                    N              ⁢                                                          ⁢              d                        +            K            -            1                                              [                  Formula          ⁢                                          ⁢          4                ]            
where Amn, Bmn, Dmn are coefficients calculated from the coefficients of the discrete time transfer function model a1-aNa, b1-bNb, d1-dNd.
In this way, the related art servo control device controls a motor by using the speed command u(i) output from the predictive controller 5 and the speed feed-forward signal VFF(i) output from the second feed-forward controller 40.
As a servo control device that matches a target command with motor output, a position proportional controller may be used instead of the predictive controller 5 in FIG. 1. In this case, the deviation between the target command and the position output of the motor are proportionally multiplied to obtain a speed command.
Patent Document: JP-A-2002-62906